package sc.prototype.pfs.eventnotify.collector;

import java.util.List;

import sc.prototype.pfs.eventnotify.api.UniNotice;
import sc.prototype.pfs.eventnotify.excep.CollectContentException;
import sc.prototype.pfs.eventnotify.model.NotifyConfig;
import sc.prototype.pfs.eventnotify.model.NotifyContext;
import sc.prototype.pfs.eventnotify.model.ParamKey;

/**
 * 通知内容采集器
 */
public interface ContentCollector {

    /** 采集器名称 */
    String getName();

    /** 采集门面 */
    UniNotice collect(NotifyConfig config, NotifyContext context) throws CollectContentException;

    /** 可用扩展参数列表，子类需要可能需要继承父类的扩展参数 */
    List<ParamKey> getExtParamKeys();
}
